/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bgu.ppm.sim.api.exec;

import bgu.ppm.sim.api.HasIdentity;

/**
 *
 * @author User
 */
public interface TickBasedExecutable<T> extends HasIdentity {

    void initialize(T data);

    void tick();

    State getState();

    public enum State {

        UNINITIALIZED,
        INITIALIZED,
        RUNNING,
        TERMINATED,
        CRUSHED
    }
}
